knitr::opts_chunk$set(echo = TRUE)

cmdstanr::set_cmdstan_path(path = "C:/Users/kueng/.cmdstan/cmdstan-2.35.0")

library(tidyverse)
library(R.utils)
library(wbCorr)
library(readxl)
library(kableExtra)
library(brms)
library(bayesplot)
library(see)
library(beepr)
library(DHARMa)
library(digest)



source(file.path('Functions', 'ReportModels.R'))
source(file.path('Functions', 'PrettyTables.R'))
source(file.path('Functions', 'ReportMeasures.R'))
source(file.path('Functions', 'PrepareData.R'))

report_function_hash <- digest::digest(summarize_brms)
system("shutdown /a")
## [1] 1116
# Set options for analysis
use_mi = FALSE
shutdown = FALSE
report_ordinal = FALSE
report_hurdle = TRUE
do_priorsense = FALSE

options(
  dplyr.print_max = 100, 
  brms.backend = 'cmdstan',
  brms.file_refit = ifelse(use_mi, 'never', 'on_change'),
  brms.file_refit = 'on_change',
  #brms.file_refit = 'always',
  error = function() {
    beepr::beep(sound = 5)
    if (shutdown) {
      system("shutdown /s /t 180")
      quit(save = "no", status = 1)
    }
  }
  , es.use_symbols = TRUE
)


####################### Model parameters #######################

iterations = 2000 # 10'000 per chain to achieve 40'000
warmup = 1000

# NO AR!!!
#corstr = 'ar'
#corstr = 'cosy_couple'
#corstr = 'cosy_couple:user'


################################################################

suffix = as.character(iterations)
df <- openxlsx::read.xlsx(file.path('long.xlsx'))
df_original <- df

df_double <- prepare_data(df, recode_pushing = TRUE, use_mi = use_mi)[[1]]

Constructing scales Re-coding pusing reshaping data (4field) centering data within and between

summary(df_double$pushing)

Min. 1st Qu. Median Mean 3rd Qu. Max. NA’s 0.0000 0.0000 0.0000 0.1635 0.0000 5.0000 241

Modelling

# For indistinguishable Dyads
model_rows_fixed <- c(
    'Intercept', 
    # '-- WITHIN PERSON MAIN EFFECTS --', 
    'persuasion_self_cw', 
    'persuasion_partner_cw', 
    'pressure_self_cw', 
    'pressure_partner_cw', 
    'pushing_self_cw', 
    'pushing_partner_cw', 
    'day', 
    'weartime_self_cw',
    
    'support_self_cw',
    'support_partner_cw',
    'isWeekendWeekend',
    'got_JITAI_selfJITAIreceived',
    'skilled_supportDaysafterIntervention',
    
    
    # '-- BETWEEN PERSON MAIN EFFECTS',
    'persuasion_self_cb',
    'persuasion_partner_cb',
    'pressure_self_cb',
    'pressure_partner_cb',
    'pushing_self_cb',
    'pushing_partner_cb',
    'weartime_self_cb',
    
    'support_self_cb',
    'support_partner_cb',
    'studyGroupFirst3weeksinterventions',
    'studyGrouplast3weeksinterventions'
  )


model_rows_fixed_ordinal <- c(
  model_rows_fixed[1],
  'Intercept[1]',
  'Intercept[2]',
  'Intercept[3]',
  'Intercept[4]',
  'Intercept[5]',
  model_rows_fixed[2:length(model_rows_fixed)]
)

model_rows_random <- c(
  # '--------------',
  # '-- RANDOM EFFECTS --',
  'sd(Intercept)', 
  'sd(persuasion_self_cw)',
  'sd(persuasion_partner_cw)',
  'sd(pressure_self_cw)',
  'sd(pressure_partner_cw)',
  'sd(pushing_self_cw)',
  'sd(pushing_partner_cw)',
  # '-- CORRELATION STRUCTURE -- ', 
  'sigma'
)

model_rows_random_ordinal <- c(model_rows_random,'disc')
# For indistinguishable Dyads
model_rownames_fixed <- c(
    "Intercept", 
    # "-- WITHIN PERSON MAIN EFFECTS --", 
    "Daily persuasion experienced", 
    "Daily persuasion utilized (partner's view)", # OR partner received
    "Daily pressure experienced", 
    "Daily pressure utilized (partner's view)", 
    "Daily pushing experienced", 
    "Daily pushing utilized (partner's view)", 
    "Day", 
    "Daily weartime",
    
    'Daily support received',
    "Daily support provided (partner's view)",
    'Is a Weekend',
    'JITAI received',
    'Days post skilled support intervention',
    
    # "-- BETWEEN PERSON MAIN EFFECTS",
    "Mean persuasion experienced", 
    "Mean persuasion utilized (partner's view)", 
    "Mean pressure experienced", 
    "Mean pressure utilized (partner's view)", 
    "Mean pushing experienced", 
    "Mean pushing utilized (partner's view)", 
    "Mean weartime",
    
    'Mean support received',
    "Mean support provided (partner's view)",
    'Difference study group 2',
    'Difference study group 3'
  )


model_rownames_fixed_ordinal <- c(
  model_rownames_fixed[1],
  'Intercept[1]',
  'Intercept[2]',
  'Intercept[3]',
  'Intercept[4]',
  'Intercept[5]',
  model_rownames_fixed[2:length(model_rownames_fixed)]
)

model_rownames_random <- c(
  # '--------------',
  # '-- RANDOM EFFECTS --',
  'sd(Intercept)', 
  "sd(Daily persuasion experienced)", 
  "sd(Daily persuasion utilized (partner's view))", # OR partner received
  "sd(Daily pressure experienced)", 
  "sd(Daily pressure utilized (partner's view))", 
  "sd(Daily pushing experienced)", 
  "sd(Daily pushing utilized (partner's view))", 
  # '-- CORRELATION STRUCTURE -- ', 
  'sigma'
)

model_rownames_random_ordinal <- c(model_rownames_random,'disc')
rows_to_pack <- list(
  "Within-Person Effects" = c(2,14),
  "Between-Person Effects" = c(15,25),
  "Random Effects" = c(26, 32), 
  "Additional Parameters" = c(33,33)
  )


rows_to_pack_ordinal <- list(
  "Intercepts" = c(1,6),
  "Within-Person Effects" = c(2+5,14+5),
  "Between-Person Effects" = c(15+5,25+5),
  "Random Effects" = c(26+5, 32+5), 
  "Additional Parameters" = c(33+5,33+6)
  )

HURDLE MODELS

# For indistinguishable Dyads
model_rows_fixed_hu <- c(
    'Intercept', 
    'hu_Intercept',
    # '-- WITHIN PERSON MAIN EFFECTS --', 
    'persuasion_self_cw', 
    'persuasion_partner_cw', 
    'pressure_self_cw', 
    'pressure_partner_cw', 
    'pushing_self_cw', 
    'pushing_partner_cw', 
    'day', 
    'weartime_self_cw',
    
    'support_self_cw',
    'support_partner_cw',
    'isWeekendWeekend',
    'got_JITAI_selfJITAIreceived',
    'skilled_supportDaysafterIntervention',
    
    # '-- BETWEEN PERSON MAIN EFFECTS',
    'persuasion_self_cb',
    'persuasion_partner_cb',
    'pressure_self_cb',
    'pressure_partner_cb',
    'pushing_self_cb',
    'pushing_partner_cb',
    'weartime_self_cb',
    
    'support_self_cb',
    'support_partner_cb',
    'studyGroupFirst3weeksinterventions',
    'studyGrouplast3weeksinterventions',
    
    # HURDLE MODEL
    # '-- WITHIN PERSON MAIN EFFECTS --', 
    'hu_persuasion_self_cw', 
    'hu_persuasion_partner_cw', 
    'hu_pressure_self_cw', 
    'hu_pressure_partner_cw', 
    'hu_pushing_self_cw', 
    'hu_pushing_partner_cw', 
    'hu_day', 
    'hu_weartime_self_cw',
    
    'hu_support_self_cw',
    'hu_support_partner_cw',
    'hu_isWeekendWeekend',
    'hu_got_JITAI_selfJITAIreceived',
    'hu_skilled_supportDaysafterIntervention',
    
    # '-- BETWEEN PERSON MAIN EFFECTS',
    'hu_persuasion_self_cb',
    'hu_persuasion_partner_cb',
    'hu_pressure_self_cb',
    'hu_pressure_partner_cb',
    'hu_pushing_self_cb',
    'hu_pushing_partner_cb',
    'hu_weartime_self_cb',
    
    'hu_support_self_cb',
    'hu_support_partner_cb',
    'hu_studyGroupFirst3weeksinterventions',
    'hu_studyGrouplast3weeksinterventions'
    
  )

model_rows_fixed_hu_ordinal <- c(
  model_rows_fixed_hu[1:2],
  'Intercept[1]',
  'Intercept[2]',
  'Intercept[3]',
  'Intercept[4]',
  'Intercept[5]',
  model_rows_fixed_hu[3:length(model_rows_fixed_hu)]
)


model_rows_random_hu <- c(
  # '--------------',
  # '-- RANDOM EFFECTS --',
  'sd(Intercept)', 
  'sd(hu_Intercept)',
  'sd(persuasion_self_cw)',
  'sd(persuasion_partner_cw)',
  'sd(pressure_self_cw)',
  'sd(pressure_partner_cw)',
  'sd(pushing_self_cw)',
  'sd(pushing_partner_cw)',
  # HURDLE
  'sd(hu_persuasion_self_cw)',
  'sd(hu_persuasion_partner_cw)',
  'sd(hu_pressure_self_cw)',
  'sd(hu_pressure_partner_cw)',
  'sd(hu_pushing_self_cw)',
  'sd(hu_pushing_partner_cw)',
  # '-- CORRELATION STRUCTURE -- ', 
  'sigma'
)

model_rows_random_hu_ordinal <- c(model_rows_random_hu,'disc')
# For indistinguishable Dyads
model_rownames_fixed_hu <- c(
    "Intercept", 
    "Hurdle Intercept",
    # "-- WITHIN PERSON MAIN EFFECTS --", 
    "Daily persuasion experienced", 
    "Daily persuasion utilized (partner's view)", # OR partner received
    "Daily pressure experienced", 
    "Daily pressure utilized (partner's view)", 
    "Daily pushing experienced", 
    "Daily pushing utilized (partner's view)", 
    "Day", 
    "Daily weartime",
    
    'Daily support received',
    "Daily support provided (partner's view)",
    'Is a Weekend',
    'JITAI received',
    'Days post skilled support intervention',
    
    # "-- BETWEEN PERSON MAIN EFFECTS",
    "Mean persuasion experienced", 
    "Mean persuasion utilized (partner's view)", 
    "Mean pressure experienced", 
    "Mean pressure utilized (partner's view)", 
    "Mean pushing experienced", 
    "Mean pushing utilized (partner's view)", 
    "Mean weartime", 
    
    'Mean support received',
    "Mean support provided (partner's view)",
    'Difference study group 2',
    'Difference study group 3',
    
    # HURDLE
    # "-- WITHIN PERSON MAIN EFFECTS --", 
    "Hu Daily persuasion experienced", 
    "Hu Daily persuasion utilized (partner's view)", # OR partner received
    "Hu Daily pressure experienced", 
    "Hu Daily pressure utilized (partner's view)", 
    "Hu Daily pushing experienced", 
    "Hu Daily pushing utilized (partner's view)", 
    "Hu Day", 
    "Hu Daily weartime",
    
    'Hu Daily support received',
    "Hu Daily support provided (partner's view)",
    'Hu Is a Weekend',
    'Hu JITAI received',
    'Hu Days post skilled support intervention',
    
    # "-- BETWEEN PERSON MAIN EFFECTS",
    "Hu Mean persuasion experienced", 
    "Hu Mean persuasion utilized (partner's view)", 
    "Hu Mean pressure experienced", 
    "Hu Mean pressure utilized (partner's view)", 
    "Hu Mean pushing experienced", 
    "Hu Mean pushing utilized (partner's view)", 
    "Hu Mean weartime",
    
    'Hu Mean support received',
    "Hu Mean support provided (partner's view)",
    'Hu Difference study group 2',
    'Hu Difference study group 3'
  )



model_rownames_fixed_hu_ordinal <- c(
  model_rownames_fixed_hu[1:2],
  'Intercept[1]',
  'Intercept[2]',
  'Intercept[3]',
  'Intercept[4]',
  'Intercept[5]',
  model_rownames_fixed_hu[3:length(model_rownames_fixed_hu)]
)



model_rownames_random_hu <- c(
  # '--------------',
  # '-- RANDOM EFFECTS --',
  'sd(Intercept)', 
  'sd(Hurdle Intercept)', 
  "sd(Daily persuasion experienced)", 
  "sd(Daily persuasion utilized (partner's view))", # OR partner received
  "sd(Daily pressure experienced)", 
  "sd(Daily pressure utilized (partner's view))", 
  "sd(Daily pushing experienced)", 
  "sd(Daily pushing utilized (partner's view))", 
  
  # Hurdle
  "sd(Hu Daily persuasion experienced)", 
  "sd(Hu Daily persuasion utilized (partner's view))", # OR partner received
  "sd(Hu Daily pressure experienced)", 
  "sd(Hu Daily pressure utilized (partner's view))", 
  "sd(Hu Daily pushing experienced)", 
  "sd(Hu Daily pushing utilized (partner's view))", 
  # '-- CORRELATION STRUCTURE -- ', 
  'sigma'
)

model_rownames_random_hu_ordinal <- c(model_rownames_random_hu,'disc')
rows_to_pack_hu <- list(
  "Conditional Within-Person Effects" = c(3,15),
  "Conditional Between-Person Effects" = c(16,26),
  
  "Hurdle Within-Person Effects" = c(27,39),
  "Hurdle Between-Person Effects" = c(40,50),
  
  "Random Effects" = c(51, 64), 
  "Additional Parameters" = c(65,65)
  )

rows_to_pack_hu_ordinal <- list(
  "Conditional Within-Person Effects" = c(3+5,15+5),
  "Conditional Between-Person Effects" = c(16+5,26+5),
  
  "Hurdle Within-Person Effects" = c(27+5,39+5),
  "Hurdle Between-Person Effects" = c(40+5,50+5),
  
  "Random Effects" = c(51+5, 64+5), 
  "Additional Parameters" = c(65+5,65+6)
  )

Self-Reported MVPA

Hurdle Lognormal Model

formula <- bf(
  pa_sub ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    support_self_cw + support_partner_cw + 
    #plan +
    #isWeekend + 
    #got_JITAI_self + 
    #skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    support_self_cb + support_partner_cb + 
    #studyGroup +
    
    day + 
    
    # Random effects
    (1 + persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID),
  
  hu = ~ persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    support_self_cw + support_partner_cw + 
    #plan +
    #isWeekend + 
    #got_JITAI_self + 
    #skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    support_self_cb + support_partner_cb + 
    #studyGroup +
    
    day + 
    
    # Random effects
    (1 + persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
) 

prior1 <- c(
  brms::set_prior("normal(0, 2.5)", class = "b")
  , brms::set_prior("normal(0, 2)", class = "b", dpar = "hu")
  , brms::set_prior("normal(0, 50)", class = "Intercept") # for non-zero PA
  , brms::set_prior("normal(0.5, 2.5)", class = "Intercept", dpar = 'hu') # hurdle part
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
  , brms::set_prior("student_t(3, 0, 2.5)", class = "sigma", lb = 0)
)

#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = hurdle_lognormal()
#)

#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

pa_sub <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = brms::hurdle_lognormal(), 
  #family = brms::hurdle_negbinomial(), 
  #family = brms::hurdle_poisson(),
  #control = list(adapt_delta = 0.95, max_treedepth = 15),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 42,
  file = file.path("models_cache_brms", paste0("pa_sub_hu_lognormal_senssocial_", suffix))
  #, file_refit = 'always'
)
## Warning: Rows containing NAs were excluded from the model.
pa_sub_digest <- digest::digest(pa_sub)
# summarize with rope range for hurdle part
summary_pa_sub_hurdle <- summarize_brms(
  pa_sub, 
  stats_to_report = c('pd','ROPE'),
  rope_range = c(-0.18, 0.18),
  model_rows_fixed = model_rows_fixed_hu,
  model_rows_random = model_rows_random_hu,
  model_rownames_fixed = model_rownames_fixed_hu,
  model_rownames_random = model_rownames_random_hu,
  exponentiate = T) 
## Warning in summarize_brms(pa_sub, stats_to_report = c("pd", "ROPE"), rope_range
## = c(-0.18, : Coefficients were exponentiated. Double check if this was
## intended.
# rope range for continuous part of the model
rope_factor <- sd(log(pa_sub$data$pa_sub[pa_sub$data$pa_sub > 0]))
rope_range_continuous = c(-0.1 * rope_factor, 0.1 * rope_factor)

summary_pa_sub_continuous <- summarize_brms(
  pa_sub, 
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  rope_range = rope_range_continuous,
  model_rows_fixed = model_rows_fixed_hu,
  model_rows_random = model_rows_random_hu,
  model_rownames_fixed = model_rownames_fixed_hu,
  model_rownames_random = model_rownames_random_hu,
  exponentiate = T) 
## Warning in summarize_brms(pa_sub, stats_to_report = c("CI", "SE", "pd", :
## Coefficients were exponentiated. Double check if this was intended.
# Replace only the ROPE and % in Rope columns for rows with 'Hu'
summary_pa_sub <- summary_pa_sub_continuous

columns_to_replace <- c("ROPE", "inside ROPE")

summary_pa_sub[grepl('Hu', rownames(summary_pa_sub)), columns_to_replace] <- 
  summary_pa_sub_hurdle[grepl('Hu', rownames(summary_pa_sub_hurdle)), columns_to_replace]

# Print the updated dataframe
summary_pa_sub %>%
  print_df(rows_to_pack = rows_to_pack_hu)
exp(Est.) SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercept 46.31*** 2.96 [40.93, 52.35] 1.000 [0.92, 1.08] 0.000 1.004 715 1383
Hurdle Intercept 0.84 0.14 [ 0.62, 1.16] 0.861 [0.84, 1.20] 0.508 1.002 707 1403
Conditional Within-Person Effects
Daily persuasion experienced 0.99 0.03 [ 0.94, 1.04] 0.623 [0.92, 1.08] 0.993 1.004 1288 2092
Daily persuasion utilized (partner’s view) 1.00 0.02 [ 0.95, 1.05] 0.506 [0.92, 1.08] 0.997 1.002 1693 2303
Daily pressure experienced 0.90* 0.04 [ 0.81, 0.99] 0.979 [0.92, 1.08] 0.270 1.001 2459 2697
Daily pressure utilized (partner’s view) 0.95 0.04 [ 0.86, 1.03] 0.903 [0.92, 1.08] 0.723 1.000 2939 2282
Daily pushing experienced 1.00 0.03 [ 0.94, 1.07] 0.560 [0.92, 1.08] 0.975 1.002 2465 2635
Daily pushing utilized (partner’s view) 0.98 0.03 [ 0.92, 1.04] 0.783 [0.92, 1.08] 0.949 1.001 2883 2695
Day 1.01 0.06 [ 0.90, 1.14] 0.585 [0.92, 1.08] 0.805 1.001 4044 3114
Daily weartime NA NA NA NA NA NA NA NA NA
Daily support received 1.07*** 0.01 [ 1.04, 1.10] 1.000 [0.92, 1.08] 0.769 1.000 4386 2895
Daily support provided (partner’s view) 1.05*** 0.01 [ 1.03, 1.08] 1.000 [0.92, 1.08] 0.979 1.000 4202 2636
Is a Weekend NA NA NA NA NA NA NA NA NA
JITAI received NA NA NA NA NA NA NA NA NA
Days post skilled support intervention NA NA NA NA NA NA NA NA NA
Conditional Between-Person Effects
Mean persuasion experienced 0.91 0.15 [ 0.67, 1.25] 0.716 [0.92, 1.08] 0.311 1.001 616 1223
Mean persuasion utilized (partner’s view) 0.97 0.15 [ 0.71, 1.33] 0.579 [0.92, 1.08] 0.368 1.002 637 1205
Mean pressure experienced 1.23 0.22 [ 0.87, 1.74] 0.872 [0.92, 1.08] 0.186 1.002 839 1719
Mean pressure utilized (partner’s view) 0.90 0.17 [ 0.62, 1.28] 0.718 [0.92, 1.08] 0.284 1.002 838 1538
Mean pushing experienced 1.24 0.29 [ 0.76, 1.98] 0.826 [0.92, 1.08] 0.163 1.001 969 1928
Mean pushing utilized (partner’s view) 1.15 0.28 [ 0.71, 1.87] 0.727 [0.92, 1.08] 0.214 1.003 842 1539
Mean weartime NA NA NA NA NA NA NA NA NA
Mean support received 1.12* 0.05 [ 1.02, 1.24] 0.993 [0.92, 1.08] 0.220 1.004 1112 1843
Mean support provided (partner’s view) 0.99 0.05 [ 0.90, 1.09] 0.546 [0.92, 1.08] 0.887 1.005 1175 2163
Difference study group 2 NA NA NA NA NA NA NA NA NA
Difference study group 3 NA NA NA NA NA NA NA NA NA
Hurdle Within-Person Effects
Hu Daily persuasion experienced 1.17* 0.08 [ 1.03, 1.33] 0.993 [0.84, 1.20] 0.640 1.001 3001 2423
Hu Daily persuasion utilized (partner’s view) 1.05 0.06 [ 0.93, 1.20] 0.790 [0.84, 1.20] 0.973 1.002 2660 2485
Hu Daily pressure experienced 0.77 0.13 [ 0.54, 1.11] 0.928 [0.84, 1.20] 0.296 1.000 2474 2101
Hu Daily pressure utilized (partner’s view) 1.64* 0.38 [ 1.09, 2.89] 0.991 [0.84, 1.20] 0.062 1.001 2106 1651
Hu Daily pushing experienced 1.50** 0.25 [ 1.11, 2.20] 0.996 [0.84, 1.20] 0.069 1.001 1611 1604
Hu Daily pushing utilized (partner’s view) 1.63*** 0.21 [ 1.29, 2.22] 1.000 [0.84, 1.20] 0.004 1.001 1947 2194
Hu Day 1.01 0.14 [ 0.77, 1.32] 0.522 [0.84, 1.20] 0.791 1.001 4824 2924
Hu Daily weartime NA NA NA NA NA NA NA NA NA
Hu Daily support received 1.69*** 0.07 [ 1.56, 1.84] 1.000 [0.84, 1.20] 0.000 1.000 4340 3140
Hu Daily support provided (partner’s view) 1.45*** 0.06 [ 1.34, 1.57] 1.000 [0.84, 1.20] 0.000 0.999 3942 2988
Hu Is a Weekend NA NA NA NA NA NA NA NA NA
Hu JITAI received NA NA NA NA NA NA NA NA NA
Hu Days post skilled support intervention NA NA NA NA NA NA NA NA NA
Hurdle Between-Person Effects
Hu Mean persuasion experienced 1.01 0.42 [ 0.46, 2.32] 0.511 [0.84, 1.20] 0.348 1.003 485 1150
Hu Mean persuasion utilized (partner’s view) 0.89 0.36 [ 0.40, 1.98] 0.617 [0.84, 1.20] 0.323 1.003 545 1158
Hu Mean pressure experienced 0.28** 0.13 [ 0.11, 0.69] 0.998 [0.84, 1.20] 0.007 1.002 888 1346
Hu Mean pressure utilized (partner’s view) 0.72 0.31 [ 0.29, 1.84] 0.774 [0.84, 1.20] 0.228 1.004 799 1828
Hu Mean pushing experienced 1.37 0.83 [ 0.39, 4.67] 0.702 [0.84, 1.20] 0.205 1.003 723 1354
Hu Mean pushing utilized (partner’s view) 1.56 0.93 [ 0.45, 5.17] 0.774 [0.84, 1.20] 0.178 1.002 807 1227
Hu Mean weartime NA NA NA NA NA NA NA NA NA
Hu Mean support received 1.39* 0.18 [ 1.09, 1.79] 0.995 [0.84, 1.20] 0.120 1.002 1192 2014
Hu Mean support provided (partner’s view) 1.63** 0.21 [ 1.26, 2.12] 0.999 [0.84, 1.20] 0.010 1.003 1178 1605
Hu Difference study group 2 NA NA NA NA NA NA NA NA NA
Hu Difference study group 3 NA NA NA NA NA NA NA NA NA
Random Effects
sd(Intercept) 0.32 0.05 [0.24, 0.42] NA NA NA 1.001 903 1724
sd(Hurdle Intercept) 0.86 0.12 [0.67, 1.14] NA NA NA 1.006 952 1925
sd(Daily persuasion experienced) 0.12 0.02 [0.08, 0.17] NA NA NA 1.000 1839 2568
sd(Daily persuasion utilized (partner’s view)) 0.09 0.02 [0.05, 0.14] NA NA NA 1.002 1891 2136
sd(Daily pressure experienced) 0.06 0.06 [0.00, 0.22] NA NA NA 1.003 1182 1478
sd(Daily pressure utilized (partner’s view)) 0.05 0.04 [0.00, 0.17] NA NA NA 1.003 1495 1164
sd(Daily pushing experienced) 0.10 0.03 [0.03, 0.18] NA NA NA 1.004 1108 979
sd(Daily pushing utilized (partner’s view)) 0.09 0.04 [0.02, 0.17] NA NA NA 1.005 732 291
sd(Hu Daily persuasion experienced) 0.12 0.09 [0.01, 0.31] NA NA NA 1.003 1068 1669
sd(Hu Daily persuasion utilized (partner’s view)) 0.13 0.09 [0.01, 0.31] NA NA NA 1.003 725 867
sd(Hu Daily pressure experienced) 0.30 0.24 [0.01, 0.95] NA NA NA 1.001 1290 991
sd(Hu Daily pressure utilized (partner’s view)) 0.45 0.32 [0.02, 1.25] NA NA NA 1.001 1196 1247
sd(Hu Daily pushing experienced) 0.62 0.20 [0.30, 1.10] NA NA NA 1.002 1171 1918
sd(Hu Daily pushing utilized (partner’s view)) 0.30 0.15 [0.04, 0.65] NA NA NA 1.003 1066 951
Additional Parameters
sigma 0.67 0.01 [0.65, 0.70] NA NA NA 1.001 4132 3024
# Plot continuous part of model

variable <- c(
  '(Intercept)',
  'b_persuasion_self_cw',
  'b_persuasion_partner_cw',
  'b_pressure_self_cw',
  'b_pressure_partner_cw',
  'b_pushing_self_cw',
  'b_pushing_partner_cw'
)


plot(
  bayestestR::p_direction(pa_sub, parameter = variable),
  priors = TRUE
) + theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in is.na(e1) | is.na(e2): longer object length is not a multiple of
## shorter object length

plot(
  bayestestR::rope(
    pa_sub, 
    parameter = variable, 
    range = rope_range_continuous,
    verbose = F,
    ci = 1
  )
) + theme_bw()

# Hurdle part of the model
variable <- c(
  'b_hu_persuasion_self_cw',
  'b_hu_persuasion_partner_cw',
  'b_hu_pressure_self_cw',
  'b_hu_pressure_partner_cw',
  'b_hu_pushing_self_cw',
  'b_hu_pushing_partner_cw'
)

plot(
  bayestestR::p_direction(pa_sub, parameter = variable),
  priors = TRUE
) + theme_bw()

# The rope range for the bernoulli part of the model is -0.18, 0.18
plot(
  bayestestR::rope(pa_sub, parameter = variable, range = c(-0.18, 0.18), ci = 1),
  verbose = FALSE
) + theme_bw()
## Possible multicollinearity between b_persuasion_partner_cb and
##   b_persuasion_self_cb (r = 0.75), b_hu_persuasion_partner_cb and
##   b_hu_persuasion_self_cb (r = 0.79). This might lead to inappropriate
##   results. See 'Details' in '?rope'.

Device Based MVPA

Lognormal Model

formula <- bf(
  pa_obj ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    support_self_cw + support_partner_cw + 
    #plan +
    #isWeekend + 
    #got_JITAI_self + 
    #skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    support_self_cb + support_partner_cb + 
    #studyGroup +
    
    day + weartime_self_cw + weartime_self_cb +
    
    # Random effects
    (persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
)



prior1 <- c(
  brms::set_prior("normal(0, 2.5)", class = "b")
  , brms::set_prior("normal(0, 50)", class = "Intercept") 
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
  , brms::set_prior("student_t(3, 0, 2.5)", class = "sigma", lb = 0)
)


#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = lognormal()
#  )

#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

pa_obj_log <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = lognormal(),
  #control = list(adapt_delta = 0.95),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 7777,
  file = file.path("models_cache_brms", paste0("pa_obj_log_gaussian_senssocial_", suffix))
)
## Warning: Rows containing NAs were excluded from the model.
pa_obj_log_digest <- digest::digest(pa_obj_log)
# rope range for lognormal model
rope_factor <- sd(log(pa_obj_log$data$pa_obj))
rope_range_log = c(-0.1 * rope_factor, 0.1 * rope_factor)

summarize_brms(
  pa_obj_log, 
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  rope_range = rope_range_log,
  model_rows_fixed = model_rows_fixed,
  model_rows_random = model_rows_random,
  model_rownames_fixed = model_rownames_fixed,
  model_rownames_random = model_rownames_random,
  exponentiate = T) %>%
  print_df(rows_to_pack = rows_to_pack)
## Warning in summarize_brms(pa_obj_log, stats_to_report = c("CI", "SE", "pd", :
## Coefficients were exponentiated. Double check if this was intended.
exp(Est.) SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercept 117.05*** 6.06 [105.60, 130.18] 1.000 [0.94, 1.07] 0.000 1.003 1181 2240
Within-Person Effects
Daily persuasion experienced 1.01 0.02 [ 0.98, 1.04] 0.707 [0.94, 1.07] 1.000 1.000 4740 3319
Daily persuasion utilized (partner’s view) 1.01 0.02 [ 0.98, 1.04] 0.668 [0.94, 1.07] 1.000 1.000 4785 3643
Daily pressure experienced 0.94 0.03 [ 0.88, 1.01] 0.950 [0.94, 1.07] 0.575 1.002 6923 3301
Daily pressure utilized (partner’s view) 0.98 0.03 [ 0.92, 1.05] 0.737 [0.94, 1.07] 0.909 1.000 7095 3287
Daily pushing experienced 1.02 0.02 [ 0.97, 1.07] 0.793 [0.94, 1.07] 0.966 1.000 4994 3376
Daily pushing utilized (partner’s view) 1.01 0.02 [ 0.97, 1.05] 0.625 [0.94, 1.07] 0.994 1.000 6967 3347
Day 0.98 0.04 [ 0.91, 1.05] 0.761 [0.94, 1.07] 0.852 1.001 11563 2915
Daily weartime 1.00*** 0.00 [ 1.00, 1.00] 1.000 [0.94, 1.07] 1.000 1.001 4098 2574
Daily support received 1.04*** 0.01 [ 1.02, 1.06] 1.000 [0.94, 1.07] 0.996 1.002 9082 3149
Daily support provided (partner’s view) 1.02 0.01 [ 1.00, 1.03] 0.956 [0.94, 1.07] 1.000 1.001 9075 3397
Is a Weekend NA NA NA NA NA NA NA NA NA
JITAI received NA NA NA NA NA NA NA NA NA
Days post skilled support intervention NA NA NA NA NA NA NA NA NA
Between-Person Effects
Mean persuasion experienced 1.05 0.15 [ 0.78, 1.40] 0.626 [0.94, 1.07] 0.324 1.001 1101 1743
Mean persuasion utilized (partner’s view) 0.97 0.14 [ 0.72, 1.29] 0.591 [0.94, 1.07] 0.346 1.002 1141 1875
Mean pressure experienced 1.03 0.15 [ 0.78, 1.38] 0.580 [0.94, 1.07] 0.344 1.000 1472 2177
Mean pressure utilized (partner’s view) 0.96 0.14 [ 0.72, 1.27] 0.617 [0.94, 1.07] 0.340 1.000 1329 2332
Mean pushing experienced 0.91 0.20 [ 0.59, 1.42] 0.667 [0.94, 1.07] 0.196 1.001 1347 1977
Mean pushing utilized (partner’s view) 1.11 0.25 [ 0.73, 1.75] 0.691 [0.94, 1.07] 0.210 1.002 1435 2150
Mean weartime 1.00 0.00 [ 1.00, 1.00] 0.912 [0.94, 1.07] 1.000 1.000 7174 3349
Mean support received 1.08 0.05 [ 0.99, 1.17] 0.957 [0.94, 1.07] 0.415 1.000 1694 2700
Mean support provided (partner’s view) 1.01 0.04 [ 0.93, 1.10] 0.622 [0.94, 1.07] 0.847 1.002 1664 2635
Difference study group 2 NA NA NA NA NA NA NA NA NA
Difference study group 3 NA NA NA NA NA NA NA NA NA
Random Effects
sd(Intercept) 0.30 0.04 [0.23, 0.40] NA NA NA 1.002 1094 2170
sd(Daily persuasion experienced) 0.05 0.01 [0.02, 0.08] NA NA NA 1.001 2484 2443
sd(Daily persuasion utilized (partner’s view)) 0.05 0.02 [0.02, 0.09] NA NA NA 1.004 1523 1064
sd(Daily pressure experienced) 0.04 0.03 [0.00, 0.14] NA NA NA 1.002 2332 2674
sd(Daily pressure utilized (partner’s view)) 0.03 0.03 [0.00, 0.11] NA NA NA 1.000 2572 2548
sd(Daily pushing experienced) 0.07 0.04 [0.01, 0.15] NA NA NA 1.001 1128 1657
sd(Daily pushing utilized (partner’s view)) 0.03 0.03 [0.00, 0.10] NA NA NA 1.001 1770 1893
Additional Parameters
sigma 0.57 0.01 [0.56, 0.59] NA NA NA 1.002 9736 2827
plot(
  bayestestR::p_direction(pa_obj_log),
  priors = TRUE
) + 
  coord_cartesian(xlim = c(-3, 3)) +
  theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in is.na(e1) | is.na(e2): longer object length is not a multiple of
## shorter object length

plot(
  bayestestR::rope(pa_obj_log, range = rope_range_log, ci = 1)
) + theme_bw()
## Possible multicollinearity between b_persuasion_partner_cb and
##   b_persuasion_self_cb (r = 0.88), b_pressure_self_cb and
##   b_persuasion_self_cb (r = 0.73), b_pressure_partner_cb and
##   b_persuasion_self_cb (r = 0.73), b_pressure_partner_cb and
##   b_persuasion_partner_cb (r = 0.77), b_pushing_partner_cb and
##   b_pushing_self_cb (r = 0.84). This might lead to inappropriate results.
##   See 'Details' in '?rope'.

# Nothing significant, no plots

Affect

Gaussian

formula <- bf(
  aff ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    support_self_cw + support_partner_cw + 
    #plan +
    #isWeekend + 
    #got_JITAI_self + 
    #skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    support_self_cb + support_partner_cb + 
    #studyGroup +
    
    day + 
    
    # Random effects
    (persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
)


prior1 <- c(
  brms::set_prior("normal(0, 5)", class = "b")
  ,brms::set_prior("normal(0, 20)", class = "Intercept", lb=1, ub=6)
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
  , brms::set_prior("student_t(3, 0, 2.5)", class = "sigma", lb = 0)
)

#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = gaussian()
#  )

#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

mood_gauss <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = gaussian(),
  #control = list(adapt_delta = 0.95, max_treedepth = 15),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 7777,
  file = file.path("models_cache_brms", paste0("mood_gauss_senssocial_", suffix))
)
## Warning: Rows containing NAs were excluded from the model.
mood_gauss_digest <- digest::digest(mood_gauss)
summarize_brms(
  mood_gauss, 
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  model_rows_fixed = model_rows_fixed,
  model_rows_random = model_rows_random,
  model_rownames_fixed = model_rownames_fixed,
  model_rownames_random = model_rownames_random,
  exponentiate = F) %>%
  print_df(rows_to_pack = rows_to_pack)
Est. SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercept 3.69*** 0.10 [ 3.49, 3.90] 1.000 [-0.11, 0.11] 0.000 1.003 438 937
Within-Person Effects
Daily persuasion experienced -0.04 0.02 [-0.08, 0.00] 0.970 [-0.11, 0.11] 1.000 1.000 2817 2748
Daily persuasion utilized (partner’s view) -0.01 0.02 [-0.05, 0.04] 0.595 [-0.11, 0.11] 1.000 1.001 2774 2679
Daily pressure experienced -0.04 0.05 [-0.15, 0.07] 0.774 [-0.11, 0.11] 0.910 1.000 3444 2894
Daily pressure utilized (partner’s view) -0.02 0.05 [-0.13, 0.08] 0.634 [-0.11, 0.11] 0.950 1.001 3131 2744
Daily pushing experienced 0.00 0.03 [-0.07, 0.06] 0.536 [-0.11, 0.11] 0.998 1.001 3586 2843
Daily pushing utilized (partner’s view) 0.06 0.03 [-0.01, 0.12] 0.957 [-0.11, 0.11] 0.959 1.002 2891 2426
Day 0.26*** 0.05 [ 0.16, 0.37] 1.000 [-0.11, 0.11] 0.002 1.000 5303 2899
Daily weartime NA NA NA NA NA NA NA NA NA
Daily support received 0.08*** 0.01 [ 0.05, 0.11] 1.000 [-0.11, 0.11] 0.987 1.001 4142 3189
Daily support provided (partner’s view) 0.04** 0.01 [ 0.01, 0.07] 0.996 [-0.11, 0.11] 1.000 1.000 5691 3111
Is a Weekend NA NA NA NA NA NA NA NA NA
JITAI received NA NA NA NA NA NA NA NA NA
Days post skilled support intervention NA NA NA NA NA NA NA NA NA
Between-Person Effects
Mean persuasion experienced 0.26 0.29 [-0.32, 0.84] 0.822 [-0.11, 0.11] 0.216 1.008 496 1025
Mean persuasion utilized (partner’s view) 0.32 0.29 [-0.26, 0.91] 0.877 [-0.11, 0.11] 0.168 1.008 488 994
Mean pressure experienced -0.28 0.27 [-0.84, 0.27] 0.853 [-0.11, 0.11] 0.194 1.008 565 1274
Mean pressure utilized (partner’s view) -0.34 0.27 [-0.90, 0.22] 0.887 [-0.11, 0.11] 0.152 1.006 538 1251
Mean pushing experienced 0.21 0.42 [-0.57, 1.02] 0.696 [-0.11, 0.11] 0.190 1.007 560 1424
Mean pushing utilized (partner’s view) 0.13 0.42 [-0.64, 0.96] 0.631 [-0.11, 0.11] 0.216 1.007 600 1355
Mean weartime NA NA NA NA NA NA NA NA NA
Mean support received 0.15 0.08 [-0.01, 0.30] 0.971 [-0.11, 0.11] 0.324 1.006 746 1633
Mean support provided (partner’s view) -0.08 0.08 [-0.23, 0.07] 0.851 [-0.11, 0.11] 0.663 1.006 654 1450
Difference study group 2 NA NA NA NA NA NA NA NA NA
Difference study group 3 NA NA NA NA NA NA NA NA NA
Random Effects
sd(Intercept) 0.61 0.07 [0.49, 0.78] NA NA NA 1.007 770 1406
sd(Daily persuasion experienced) 0.04 0.03 [0.00, 0.10] NA NA NA 1.004 1059 1163
sd(Daily persuasion utilized (partner’s view)) 0.06 0.03 [0.01, 0.12] NA NA NA 1.002 954 828
sd(Daily pressure experienced) 0.07 0.06 [0.00, 0.25] NA NA NA 1.003 1456 1981
sd(Daily pressure utilized (partner’s view)) 0.07 0.07 [0.00, 0.26] NA NA NA 1.004 1469 1366
sd(Daily pushing experienced) 0.05 0.04 [0.00, 0.15] NA NA NA 1.001 1380 1687
sd(Daily pushing utilized (partner’s view)) 0.06 0.04 [0.00, 0.15] NA NA NA 1.000 1519 1589
Additional Parameters
sigma 0.95 0.01 [0.93, 0.97] NA NA NA 1.000 6644 3209
plot(
  bayestestR::p_direction(mood_gauss),
  priors = TRUE
)  + 
  coord_cartesian(xlim = c(-3, 3)) +
  theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in is.na(e1) | is.na(e2): longer object length is not a multiple of
## shorter object length

plot(
  bayestestR::rope(mood_gauss, ci = 1)
) + theme_bw()
## Possible multicollinearity between b_pressure_self_cb and
##   b_persuasion_self_cb (r = 0.83), b_pressure_partner_cb and
##   b_persuasion_self_cb (r = 0.8), b_pressure_self_cb and
##   b_persuasion_partner_cb (r = 0.8), b_pressure_partner_cb and
##   b_persuasion_partner_cb (r = 0.82), b_pressure_partner_cb and
##   b_pressure_self_cb (r = 0.78), b_pushing_partner_cb and
##   b_pushing_self_cb (r = 0.9), b_support_partner_cb and b_support_self_cb
##   (r = 0.77). This might lead to inappropriate results. See 'Details' in
##   '?rope'.

conditional_spaghetti(
  mood_gauss, 
  effects = c('pushing_partner_cw'),
  group_var = 'coupleID',
  plot_full_range = TRUE
)

$pushing_partner_cw

Reactance

Ordinal

df_double$reactance_ordinal <- factor(df_double$reactance,
                                      levels = 0:5, 
                                      ordered = TRUE)

formula <- bf(
  reactance_ordinal ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    support_self_cw + support_partner_cw + 
    #plan +
    #isWeekend + 
    #got_JITAI_self + 
    #skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    support_self_cb + support_partner_cb + 
    #studyGroup +
    
    day + 
    
    # Random effects
    (persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
)


prior1 <- c(
  brms::set_prior("normal(0, 2.5)", class = "b")
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
)


#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = cumulative() # HURDLE_CUMULATIVE
#  )


#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

reactance_ordinal <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = brms::cumulative(),
  #control = list(adapt_delta = 0.95),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 7777
  , file = file.path("models_cache_brms", paste0("reactance_ordinal_senssocial_", suffix))
)
## Warning: Rows containing NAs were excluded from the model.
reactance_ordinal_digest <- digest::digest(reactance_ordinal)
summarize_brms(
  reactance_ordinal,
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  rope_range = c(-0.18, 0.18),
  model_rows_fixed = model_rows_fixed_ordinal,
  model_rows_random = model_rows_random_ordinal,
  model_rownames_fixed = model_rownames_fixed_ordinal,
  model_rownames_random = model_rownames_random_ordinal,
  exponentiate = T) %>%
  print_df(rows_to_pack = rows_to_pack_ordinal)
OR SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercepts
Intercept NA NA NA NA NA NA NA NA NA
Intercept[1] 3.71*** 0.96 [ 2.17, 6.33] 1.000 [0.84, 1.20] 0.000 1.002 2859 3012
Intercept[2] 8.11*** 2.22 [ 4.68, 14.43] 1.000 [0.84, 1.20] 0.000 1.002 2959 2986
Intercept[3] 22.68*** 6.97 [ 12.53, 42.73] 1.000 [0.84, 1.20] 0.000 1.003 2999 3128
Intercept[4] 101.92*** 37.21 [ 50.69, 217.58] 1.000 [0.84, 1.20] 0.000 1.001 3605 2773
Intercept[5] 3558.79*** 2246.39 [1138.70, 14866.10] 1.000 [0.84, 1.20] 0.000 1.002 4798 2638
Within-Person Effects
Daily persuasion experienced 0.92 0.08 [ 0.76, 1.10] 0.825 [0.84, 1.20] 0.845 1.000 3237 2798
Daily persuasion utilized (partner’s view) 1.12 0.12 [ 0.91, 1.39] 0.868 [0.84, 1.20] 0.723 1.000 2895 2760
Daily pressure experienced 1.86* 0.36 [ 1.18, 2.67] 0.994 [0.84, 1.20] 0.026 1.001 1598 2283
Daily pressure utilized (partner’s view) 1.18 0.28 [ 0.65, 1.96] 0.762 [0.84, 1.20] 0.431 1.000 2451 2199
Daily pushing experienced 1.24* 0.12 [ 1.02, 1.55] 0.982 [0.84, 1.20] 0.358 1.001 2945 2830
Daily pushing utilized (partner’s view) 0.95 0.11 [ 0.73, 1.21] 0.688 [0.84, 1.20] 0.824 1.000 3337 2072
Day 1.41 0.48 [ 0.72, 2.80] 0.846 [0.84, 1.20] 0.252 1.000 4588 2985
Daily weartime NA NA NA NA NA NA NA NA NA
Daily support received 0.82** 0.06 [ 0.71, 0.94] 0.998 [0.84, 1.20] 0.384 1.001 4482 3169
Daily support provided (partner’s view) 0.86* 0.07 [ 0.74, 1.00] 0.976 [0.84, 1.20] 0.662 1.001 3989 3017
Is a Weekend NA NA NA NA NA NA NA NA NA
JITAI received NA NA NA NA NA NA NA NA NA
Days post skilled support intervention NA NA NA NA NA NA NA NA NA
Between-Person Effects
Mean persuasion experienced 1.31 0.69 [ 0.45, 3.84] 0.695 [0.84, 1.20] 0.244 1.000 1562 2162
Mean persuasion utilized (partner’s view) 1.39 0.85 [ 0.42, 5.15] 0.704 [0.84, 1.20] 0.194 1.001 1544 2242
Mean pressure experienced 3.52* 2.04 [ 1.16, 10.53] 0.986 [0.84, 1.20] 0.023 1.000 1634 2193
Mean pressure utilized (partner’s view) 1.31 0.77 [ 0.38, 4.24] 0.685 [0.84, 1.20] 0.220 1.000 1746 2447
Mean pushing experienced 1.68 1.36 [ 0.34, 8.37] 0.734 [0.84, 1.20] 0.135 1.001 2209 3026
Mean pushing utilized (partner’s view) 0.13* 0.13 [ 0.02, 0.84] 0.983 [0.84, 1.20] 0.016 1.001 2538 2893
Mean weartime NA NA NA NA NA NA NA NA NA
Mean support received 0.70 0.20 [ 0.39, 1.20] 0.897 [0.84, 1.20] 0.242 1.000 3113 3194
Mean support provided (partner’s view) 0.88 0.21 [ 0.55, 1.37] 0.714 [0.84, 1.20] 0.497 1.000 2900 2848
Difference study group 2 NA NA NA NA NA NA NA NA NA
Difference study group 3 NA NA NA NA NA NA NA NA NA
Random Effects
sd(Intercept) 0.83 0.21 [0.48, 1.34] NA NA NA 1.002 1441 2429
sd(Daily persuasion experienced) 0.19 0.13 [0.01, 0.46] NA NA NA 1.007 793 1373
sd(Daily persuasion utilized (partner’s view)) 0.22 0.15 [0.01, 0.54] NA NA NA 1.004 1018 1303
sd(Daily pressure experienced) 0.53 0.26 [0.06, 1.15] NA NA NA 1.001 848 582
sd(Daily pressure utilized (partner’s view)) 0.40 0.38 [0.02, 1.51] NA NA NA 1.006 925 1823
sd(Daily pushing experienced) 0.23 0.14 [0.02, 0.54] NA NA NA 1.005 1119 1329
sd(Daily pushing utilized (partner’s view)) 0.13 0.13 [0.00, 0.56] NA NA NA 1.001 1318 1645
Additional Parameters
sigma NA NA NA NA NA NA NA NA NA
disc 1.00 0.00 [1.00, 1.00] NA NA NA NA NA NA
plot(
  bayestestR::p_direction(reactance_ordinal),
  priors = TRUE
) + 
  coord_cartesian(xlim = c(-6, 6)) +
  theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in is.na(e1) | is.na(e2): longer object length is not a multiple of
## shorter object length

plot(
  bayestestR::rope(reactance_ordinal, range = c(-0.18, 0.18), ci = 1)
) + theme_bw()
## Possible multicollinearity between b_Intercept[4] and b_Intercept[2] (r
##   = 0.76), b_Intercept[4] and b_Intercept[3] (r = 0.84),
##   b_pressure_partner_cb and b_persuasion_partner_cb (r = 0.78). This might
##   lead to inappropriate results. See 'Details' in '?rope'.

conditional_spaghetti(
  reactance_ordinal, 
  effects = c('persuasion_self_cw', 'pressure_self_cw')
  , group_var = 'coupleID'
  #, n_groups = 15
  , plot_full_range = T
)

\(persuasion_self_cw <img src="04_SensitivityExchangeProcessesCovariates_files/figure-html/report_reactance_ordinal-3.png" width="2400" />\)pressure_self_cw

Binary

introduce_binary_reactance <- function(data) {
  data$is_reactance <- factor(data$reactance > 0, levels = c(FALSE, TRUE), labels = c(0, 1))
  return(data)
}



df_double <- introduce_binary_reactance(df_double)
if (use_mi) {
  for (i in seq_along(implist)) {
    implist[[i]] <- introduce_binary_reactance(implist[[i]])
  }
}


formula <- bf(
  is_reactance ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    support_self_cw + support_partner_cw + 
    #plan +
    #isWeekend + 
    #got_JITAI_self + 
    #skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    support_self_cb + support_partner_cb + 
    #studyGroup +
    
    day + 
    
    # Random effects
    (persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
  )



prior1 <- c(
  brms::set_prior("normal(0, 2.5)", class = "b")
  , brms::set_prior("normal(0, 10)", class = "Intercept", lb=0, ub=5) 
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
)


#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = bernoulli()
#  )



#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

is_reactance <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = brms::bernoulli(),
  #control = list(adapt_delta = 0.95, max_treedepth = 15),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 7777,
  file = file.path("models_cache_brms", paste0("is_reactance_senssocial_", suffix))
  #, file_refit = 'always'
)
## Warning: Rows containing NAs were excluded from the model.
is_reactance_digest <- digest::digest(is_reactance)
summarize_brms(
  is_reactance, 
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  model_rows_fixed = model_rows_fixed,
  model_rows_random = model_rows_random,
  model_rownames_fixed = model_rownames_fixed,
  model_rownames_random = model_rownames_random,
  exponentiate = T) %>%
  print_df(rows_to_pack = rows_to_pack)
OR SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercept 0.31*** 0.09 [0.17, 0.55] 1.000 [0.83, 1.20] 0.001 1.001 2737 3215
Within-Person Effects
Daily persuasion experienced 0.91 0.09 [0.73, 1.10] 0.826 [0.83, 1.20] 0.791 1.000 2740 2820
Daily persuasion utilized (partner’s view) 1.22 0.19 [0.90, 1.71] 0.908 [0.83, 1.20] 0.439 1.002 2428 2614
Daily pressure experienced 1.96* 0.58 [1.06, 4.31] 0.982 [0.83, 1.20] 0.046 1.001 1732 1837
Daily pressure utilized (partner’s view) 1.30 0.56 [0.54, 3.96] 0.742 [0.83, 1.20] 0.280 1.001 1998 1934
Daily pushing experienced 1.36* 0.16 [1.07, 1.75] 0.994 [0.83, 1.20] 0.136 1.002 2559 2829
Daily pushing utilized (partner’s view) 0.93 0.18 [0.63, 1.37] 0.634 [0.83, 1.20] 0.617 1.000 3058 2813
Day 1.53 0.61 [0.69, 3.46] 0.849 [0.83, 1.20] 0.206 1.000 4748 3259
Daily weartime NA NA NA NA NA NA NA NA NA
Daily support received 0.83* 0.07 [0.69, 0.98] 0.989 [0.83, 1.20] 0.456 1.000 3923 2975
Daily support provided (partner’s view) 0.86 0.07 [0.73, 1.02] 0.957 [0.83, 1.20] 0.645 0.999 3955 3005
Is a Weekend NA NA NA NA NA NA NA NA NA
JITAI received NA NA NA NA NA NA NA NA NA
Days post skilled support intervention NA NA NA NA NA NA NA NA NA
Between-Person Effects
Mean persuasion experienced 2.21 1.36 [0.66, 7.93] 0.901 [0.83, 1.20] 0.106 1.002 1380 2301
Mean persuasion utilized (partner’s view) 1.95 1.40 [0.53, 8.47] 0.846 [0.83, 1.20] 0.138 1.002 1651 2498
Mean pressure experienced 20.59** 22.39 [2.52, 198.93] 0.998 [0.83, 1.20] 0.003 1.000 1871 2262
Mean pressure utilized (partner’s view) 2.79 3.13 [0.25, 24.81] 0.812 [0.83, 1.20] 0.082 1.000 1819 2581
Mean pushing experienced 1.31 1.34 [0.15, 10.82] 0.604 [0.83, 1.20] 0.144 1.001 1991 2523
Mean pushing utilized (partner’s view) 0.10* 0.11 [0.01, 0.89] 0.981 [0.83, 1.20] 0.018 1.001 1896 2371
Mean weartime NA NA NA NA NA NA NA NA NA
Mean support received 0.73 0.24 [0.37, 1.40] 0.832 [0.83, 1.20] 0.282 1.001 2911 2454
Mean support provided (partner’s view) 0.80 0.21 [0.46, 1.33] 0.804 [0.83, 1.20] 0.370 1.001 2634 2647
Difference study group 2 NA NA NA NA NA NA NA NA NA
Difference study group 3 NA NA NA NA NA NA NA NA NA
Random Effects
sd(Intercept) 1.22 0.27 [0.76, 1.82] NA NA NA 1.003 1289 2191
sd(Daily persuasion experienced) 0.24 0.15 [0.02, 0.54] NA NA NA 1.003 768 1681
sd(Daily persuasion utilized (partner’s view)) 0.51 0.22 [0.11, 1.02] NA NA NA 1.002 1014 653
sd(Daily pressure experienced) 0.96 0.56 [0.11, 2.33] NA NA NA 1.002 784 1065
sd(Daily pressure utilized (partner’s view)) 0.79 0.68 [0.04, 2.73] NA NA NA 1.000 1298 1934
sd(Daily pushing experienced) 0.25 0.17 [0.01, 0.63] NA NA NA 1.003 1123 1254
sd(Daily pushing utilized (partner’s view)) 0.26 0.23 [0.01, 0.99] NA NA NA 1.002 1398 1443
Additional Parameters
sigma NA NA NA NA NA NA NA NA NA
plot(
  bayestestR::p_direction(is_reactance),
  priors = TRUE
) + 
  coord_cartesian(xlim = c(-6, 6)) +
  theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in is.na(e1) | is.na(e2): longer object length is not a multiple of
## shorter object length

plot(
  bayestestR::rope(is_reactance, ci = 1)
) + theme_bw()

conditional_spaghetti(
  is_reactance, 
  effects = c('pressure_self_cw', 'pushing_self_cw'),
  group_var = 'coupleID',
  plot_full_range = TRUE
)

\(pressure_self_cw <img src="04_SensitivityExchangeProcessesCovariates_files/figure-html/report_is_reactance-3.png" width="2400" />\)pushing_self_cw

Report All Models

process_model_component <- function(obj) {
  # Convert to string, modify, and evaluate
  name <- deparse(substitute(obj))
  if (report_hurdle) name <- paste0(name, '_hu')
  if (report_ordinal) name <- paste0(name, '_ordinal')
  return(get(name, envir = parent.frame()))
}



all_models <- report_side_by_side(
  pa_sub,
  pa_obj_log,
  mood_gauss,
  reactance_ordinal,
  is_reactance,
  
  stats_to_report = c('CI', 'pd'),
  
  model_rows_random = process_model_component(model_rows_random),
  model_rows_fixed = process_model_component(model_rows_fixed),
  model_rownames_random = process_model_component(model_rownames_random),
  model_rownames_fixed = process_model_component(model_rownames_fixed)
) 

[1] “pa_sub”

## Warning in summarize_brms(model, exponentiate = exponentiate, stats_to_report =
## stats_to_report, : Coefficients were exponentiated. Double check if this was
## intended.

[1] “pa_obj_log”

## Warning in summarize_brms(model, exponentiate = exponentiate, stats_to_report =
## stats_to_report, : Coefficients were exponentiated. Double check if this was
## intended.

[1] “mood_gauss” [1] “reactance_ordinal” [1] “is_reactance”

# pretty printing

summary_all_models <- all_models %>%
  print_df(rows_to_pack = process_model_component(rows_to_pack)) %>%
  add_header_above(
    c(" ", "Subjective MVPA Hurdle Lognormal" = (length(all_models) / 5),  
      "Device-Based MVPA Log (Gaussian)" = (length(all_models) / 5), 
      "Mood Gaussian" = (length(all_models) / 5),
      "Reactance Ordinal" = (length(all_models) / 5),
      "Reactance Dichotome" = (length(all_models) / 5))
  )


export_xlsx(
  summary_all_models, 
  rows_to_pack = process_model_component(rows_to_pack),
  file.path("Output", "AllModels_sensSocial.xlsx"), 
  merge_option = 'header', 
  simplify_2nd_row = TRUE,
  line_above_rows = c(1,2),
  line_below_rows = c(-1)
)
## 
## Attaching package: 'rvest'
## The following object is masked from 'package:readr':
## 
##     guess_encoding
print(summary_all_models)
Subjective MVPA Hurdle Lognormal
Device-Based MVPA Log (Gaussian)
Mood Gaussian
Reactance Ordinal
Reactance Dichotome
exp(Est.) pa_sub 95% CI pa_sub pd pa_sub exp(Est.) pa_obj_log 95% CI pa_obj_log pd pa_obj_log Est. mood_gauss 95% CI mood_gauss pd mood_gauss OR reactance_ordinal 95% CI reactance_ordinal pd reactance_ordinal OR is_reactance 95% CI is_reactance pd is_reactance
Intercept 46.31*** [40.93, 52.35] 1.000 117.05*** [105.60, 130.18] 1.000 3.69*** [ 3.49, 3.90] 1.000 NA NA NA 0.31*** [0.17, 0.55] 1.000
Hurdle Intercept 0.84 [ 0.62, 1.16] 0.861 NA NA NA NA NA NA NA NA NA NA NA NA
Conditional Within-Person Effects
Daily persuasion experienced 0.99 [ 0.94, 1.04] 0.623 1.01 [ 0.98, 1.04] 0.707 -0.04 [-0.08, 0.00] 0.970 0.92 [ 0.76, 1.10] 0.825 0.91 [0.73, 1.10] 0.826
Daily persuasion utilized (partner’s view) 1.00 [ 0.95, 1.05] 0.506 1.01 [ 0.98, 1.04] 0.668 -0.01 [-0.05, 0.04] 0.595 1.12 [ 0.91, 1.39] 0.868 1.22 [0.90, 1.71] 0.908
Daily pressure experienced 0.90* [ 0.81, 0.99] 0.979 0.94 [ 0.88, 1.01] 0.950 -0.04 [-0.15, 0.07] 0.774 1.86* [ 1.18, 2.67] 0.994 1.96* [1.06, 4.31] 0.982
Daily pressure utilized (partner’s view) 0.95 [ 0.86, 1.03] 0.903 0.98 [ 0.92, 1.05] 0.737 -0.02 [-0.13, 0.08] 0.634 1.18 [ 0.65, 1.96] 0.762 1.30 [0.54, 3.96] 0.742
Daily pushing experienced 1.00 [ 0.94, 1.07] 0.560 1.02 [ 0.97, 1.07] 0.793 0.00 [-0.07, 0.06] 0.536 1.24* [ 1.02, 1.55] 0.982 1.36* [1.07, 1.75] 0.994
Daily pushing utilized (partner’s view) 0.98 [ 0.92, 1.04] 0.783 1.01 [ 0.97, 1.05] 0.625 0.06 [-0.01, 0.12] 0.957 0.95 [ 0.73, 1.21] 0.688 0.93 [0.63, 1.37] 0.634
Day 1.01 [ 0.90, 1.14] 0.585 0.98 [ 0.91, 1.05] 0.761 0.26*** [ 0.16, 0.37] 1.000 1.41 [ 0.72, 2.80] 0.846 1.53 [0.69, 3.46] 0.849
Daily weartime NA NA NA 1.00*** [ 1.00, 1.00] 1.000 NA NA NA NA NA NA NA NA NA
Daily support received 1.07*** [ 1.04, 1.10] 1.000 1.04*** [ 1.02, 1.06] 1.000 0.08*** [ 0.05, 0.11] 1.000 0.82** [ 0.71, 0.94] 0.998 0.83* [0.69, 0.98] 0.989
Daily support provided (partner’s view) 1.05*** [ 1.03, 1.08] 1.000 1.02 [ 1.00, 1.03] 0.956 0.04** [ 0.01, 0.07] 0.996 0.86* [ 0.74, 1.00] 0.976 0.86 [0.73, 1.02] 0.957
Is a Weekend NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
JITAI received NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Days post skilled support intervention NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Conditional Between-Person Effects
Mean persuasion experienced 0.91 [ 0.67, 1.25] 0.716 1.05 [ 0.78, 1.40] 0.626 0.26 [-0.32, 0.84] 0.822 1.31 [ 0.45, 3.84] 0.695 2.21 [0.66, 7.93] 0.901
Mean persuasion utilized (partner’s view) 0.97 [ 0.71, 1.33] 0.579 0.97 [ 0.72, 1.29] 0.591 0.32 [-0.26, 0.91] 0.877 1.39 [ 0.42, 5.15] 0.704 1.95 [0.53, 8.47] 0.846
Mean pressure experienced 1.23 [ 0.87, 1.74] 0.872 1.03 [ 0.78, 1.38] 0.580 -0.28 [-0.84, 0.27] 0.853 3.52* [ 1.16, 10.53] 0.986 20.59** [2.52, 198.93] 0.998
Mean pressure utilized (partner’s view) 0.90 [ 0.62, 1.28] 0.718 0.96 [ 0.72, 1.27] 0.617 -0.34 [-0.90, 0.22] 0.887 1.31 [ 0.38, 4.24] 0.685 2.79 [0.25, 24.81] 0.812
Mean pushing experienced 1.24 [ 0.76, 1.98] 0.826 0.91 [ 0.59, 1.42] 0.667 0.21 [-0.57, 1.02] 0.696 1.68 [ 0.34, 8.37] 0.734 1.31 [0.15, 10.82] 0.604
Mean pushing utilized (partner’s view) 1.15 [ 0.71, 1.87] 0.727 1.11 [ 0.73, 1.75] 0.691 0.13 [-0.64, 0.96] 0.631 0.13* [ 0.02, 0.84] 0.983 0.10* [0.01, 0.89] 0.981
Mean weartime NA NA NA 1.00 [ 1.00, 1.00] 0.912 NA NA NA NA NA NA NA NA NA
Mean support received 1.12* [ 1.02, 1.24] 0.993 1.08 [ 0.99, 1.17] 0.957 0.15 [-0.01, 0.30] 0.971 0.70 [ 0.39, 1.20] 0.897 0.73 [0.37, 1.40] 0.832
Mean support provided (partner’s view) 0.99 [ 0.90, 1.09] 0.546 1.01 [ 0.93, 1.10] 0.622 -0.08 [-0.23, 0.07] 0.851 0.88 [ 0.55, 1.37] 0.714 0.80 [0.46, 1.33] 0.804
Difference study group 2 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Difference study group 3 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hurdle Within-Person Effects
Hu Daily persuasion experienced 1.17* [ 1.03, 1.33] 0.993 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily persuasion utilized (partner’s view) 1.05 [ 0.93, 1.20] 0.790 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily pressure experienced 0.77 [ 0.54, 1.11] 0.928 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily pressure utilized (partner’s view) 1.64* [ 1.09, 2.89] 0.991 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily pushing experienced 1.50** [ 1.11, 2.20] 0.996 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily pushing utilized (partner’s view) 1.63*** [ 1.29, 2.22] 1.000 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Day 1.01 [ 0.77, 1.32] 0.522 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily weartime NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily support received 1.69*** [ 1.56, 1.84] 1.000 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily support provided (partner’s view) 1.45*** [ 1.34, 1.57] 1.000 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Is a Weekend NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu JITAI received NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Days post skilled support intervention NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hurdle Between-Person Effects
Hu Mean persuasion experienced 1.01 [ 0.46, 2.32] 0.511 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean persuasion utilized (partner’s view) 0.89 [ 0.40, 1.98] 0.617 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean pressure experienced 0.28** [ 0.11, 0.69] 0.998 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean pressure utilized (partner’s view) 0.72 [ 0.29, 1.84] 0.774 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean pushing experienced 1.37 [ 0.39, 4.67] 0.702 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean pushing utilized (partner’s view) 1.56 [ 0.45, 5.17] 0.774 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean weartime NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean support received 1.39* [ 1.09, 1.79] 0.995 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean support provided (partner’s view) 1.63** [ 1.26, 2.12] 0.999 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Difference study group 2 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Difference study group 3 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Random Effects
sd(Intercept) 0.32 [0.24, 0.42] NA 0.30 [0.23, 0.40] NA 0.61 [0.49, 0.78] NA 0.83 [0.48, 1.34] NA 1.22 [0.76, 1.82] NA
sd(Hurdle Intercept) 0.86 [0.67, 1.14] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Daily persuasion experienced) 0.12 [0.08, 0.17] NA 0.05 [0.02, 0.08] NA 0.04 [0.00, 0.10] NA 0.19 [0.01, 0.46] NA 0.24 [0.02, 0.54] NA
sd(Daily persuasion utilized (partner’s view)) 0.09 [0.05, 0.14] NA 0.05 [0.02, 0.09] NA 0.06 [0.01, 0.12] NA 0.22 [0.01, 0.54] NA 0.51 [0.11, 1.02] NA
sd(Daily pressure experienced) 0.06 [0.00, 0.22] NA 0.04 [0.00, 0.14] NA 0.07 [0.00, 0.25] NA 0.53 [0.06, 1.15] NA 0.96 [0.11, 2.33] NA
sd(Daily pressure utilized (partner’s view)) 0.05 [0.00, 0.17] NA 0.03 [0.00, 0.11] NA 0.07 [0.00, 0.26] NA 0.40 [0.02, 1.51] NA 0.79 [0.04, 2.73] NA
sd(Daily pushing experienced) 0.10 [0.03, 0.18] NA 0.07 [0.01, 0.15] NA 0.05 [0.00, 0.15] NA 0.23 [0.02, 0.54] NA 0.25 [0.01, 0.63] NA
sd(Daily pushing utilized (partner’s view)) 0.09 [0.02, 0.17] NA 0.03 [0.00, 0.10] NA 0.06 [0.00, 0.15] NA 0.13 [0.00, 0.56] NA 0.26 [0.01, 0.99] NA
sd(Hu Daily persuasion experienced) 0.12 [0.01, 0.31] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily persuasion utilized (partner’s view)) 0.13 [0.01, 0.31] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily pressure experienced) 0.30 [0.01, 0.95] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily pressure utilized (partner’s view)) 0.45 [0.02, 1.25] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily pushing experienced) 0.62 [0.30, 1.10] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily pushing utilized (partner’s view)) 0.30 [0.04, 0.65] NA NA NA NA NA NA NA NA NA NA NA NA NA
Additional Parameters
sigma 0.67 [0.65, 0.70] NA 0.57 [0.56, 0.59] NA 0.95 [0.93, 0.97] NA NA NA NA NA NA NA
report::report_system()

Analyses were conducted using the R Statistical language (version 4.4.1; R Core Team, 2024) on Windows 11 x64 (build 22635)

report::report_packages()
  • beepr (version 2.0; Bååth R, 2024)
  • R.methodsS3 (version 1.8.2; Bengtsson H, 2003)
  • R.oo (version 1.27.0; Bengtsson H, 2003)
  • R.utils (version 2.12.3; Bengtsson H, 2023)
  • brms (version 2.22.0; Bürkner P, 2017)
  • digest (version 0.6.37; Eddelbuettel D, 2024)
  • Rcpp (version 1.0.13.1; Eddelbuettel D et al., 2024)
  • bayesplot (version 1.11.1; Gabry J, Mahr T, 2024)
  • lubridate (version 1.9.3; Grolemund G, Wickham H, 2011)
  • DHARMa (version 0.4.7; Hartig F, 2024)
  • wbCorr (version 0.1.22; Küng P, 2023)
  • see (version 0.9.0; Lüdecke D et al., 2021)
  • tibble (version 3.2.1; Müller K, Wickham H, 2023)
  • R (version 4.4.1; R Core Team, 2024)
  • openxlsx (version 4.2.7.1; Schauberger P, Walker A, 2024)
  • ggplot2 (version 3.5.1; Wickham H, 2016)
  • forcats (version 1.0.0; Wickham H, 2023)
  • stringr (version 1.5.1; Wickham H, 2023)
  • rvest (version 1.0.4; Wickham H, 2024)
  • tidyverse (version 2.0.0; Wickham H et al., 2019)
  • readxl (version 1.4.3; Wickham H, Bryan J, 2023)
  • dplyr (version 1.1.4; Wickham H et al., 2023)
  • purrr (version 1.0.2; Wickham H, Henry L, 2023)
  • readr (version 2.1.5; Wickham H et al., 2024)
  • xml2 (version 1.3.6; Wickham H et al., 2023)
  • tidyr (version 1.3.1; Wickham H et al., 2024)
  • knitr (version 1.49; Xie Y, 2024)
  • kableExtra (version 1.4.0; Zhu H, 2024)
report::cite_packages()